Database Tutorials Android এ SQLite Integration গাইড ও নোট

358

Android অ্যাপ্লিকেশনগুলিতে ডেটা সংরক্ষণ করার জন্য SQLite একটি জনপ্রিয় এবং কার্যকর পদ্ধতি। Android SDK SQLite সমর্থন করে এবং এতে ইনবিল্ট SQLite লাইব্রেরি রয়েছে, যার মাধ্যমে আপনি সহজেই আপনার অ্যাপ্লিকেশনে ডেটাবেস তৈরি, আপডেট, এবং ম্যানেজ করতে পারেন।

এখানে, আমরা Android অ্যাপে SQLite Integration-এর জন্য প্রয়োজনীয় ধাপগুলো দেখাবো।


১. SQLiteOpenHelper ক্লাস তৈরি করা

SQLite ডেটাবেস ব্যবস্থাপনার জন্য SQLiteOpenHelper ক্লাস তৈরি করতে হবে। এটি একটি অ্যাবস্ট্র্যাক্ট ক্লাস যা ডেটাবেস তৈরি, আপডেট, এবং ম্যানেজ করার জন্য প্রয়োজনীয় মেথডগুলো প্রদান করে।

উদাহরণ: SQLiteOpenHelper ক্লাস তৈরি করা

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {

    // ডেটাবেসের নাম এবং সংস্করণ
    private static final String DATABASE_NAME = "example.db";
    private static final int DATABASE_VERSION = 1;

    // টেবিল এবং কলামের নাম
    private static final String TABLE_NAME = "users";
    private static final String COLUMN_ID = "id";
    private static final String COLUMN_NAME = "name";
    private static final String COLUMN_AGE = "age";

    // ডেটাবেস টেবিল তৈরি করার SQL কুয়েরি
    private static final String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_NAME + " TEXT, " +
            COLUMN_AGE + " INTEGER);";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // টেবিল তৈরি করা
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // টেবিল আপডেট করার জন্য কোড
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }
}

এখানে, DatabaseHelper ক্লাসটি SQLiteOpenHelper ক্লাসকে এক্সটেন্ড করে। onCreate() মেথডে টেবিল তৈরি এবং onUpgrade() মেথডে ডেটাবেস আপডেট করার কাজ করা হয়।


২. ডেটাবেস ব্যবহার করা

এখন যে ক্লাসটি তৈরি করলাম, সেটি ব্যবহার করে ডেটাবেসে ডেটা ইনসার্ট, আপডেট, এবং সিলেক্ট করতে হবে। এজন্য getWritableDatabase() বা getReadableDatabase() মেথড ব্যবহার করা হয়।

উদাহরণ: ডেটা ইনসার্ট করা

import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.content.Context;

public class UserDataManager {

    private SQLiteDatabase db;
    private DatabaseHelper dbHelper;

    public UserDataManager(Context context) {
        dbHelper = new DatabaseHelper(context);
        db = dbHelper.getWritableDatabase();
    }

    public void insertUser(String name, int age) {
        // ContentValues ব্যবহার করে ডেটা ইনসার্ট করা
        ContentValues values = new ContentValues();
        values.put(DatabaseHelper.COLUMN_NAME, name);
        values.put(DatabaseHelper.COLUMN_AGE, age);

        // ডেটাবেসে ইনসার্ট করা
        db.insert(DatabaseHelper.TABLE_NAME, null, values);
    }
}

এখানে, insertUser() মেথডটি ContentValues ব্যবহার করে একটি নতুন ইউজার ইনসার্ট করছে। ডেটাবেসে insert() মেথডের মাধ্যমে ডেটা সংরক্ষণ করা হচ্ছে।


৩. ডেটা সিলেক্ট করা

এখন, ডেটাবেস থেকে ডেটা সিলেক্ট করতে SQLiteDatabase এর query() মেথড বা rawQuery() ব্যবহার করতে হবে।

উদাহরণ: ডেটা সিলেক্ট করা

import android.database.Cursor;

public class UserDataManager {

    // আগের কোডের মতো অন্যান্য মেথড

    public void getAllUsers() {
        Cursor cursor = db.query(DatabaseHelper.TABLE_NAME, null, null, null, null, null, null);

        if (cursor != null) {
            cursor.moveToFirst();
            while (!cursor.isAfterLast()) {
                int id = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.COLUMN_ID));
                String name = cursor.getString(cursor.getColumnIndex(DatabaseHelper.COLUMN_NAME));
                int age = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.COLUMN_AGE));

                // ডেটা ব্যবহার করা
                System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);

                cursor.moveToNext();
            }
            cursor.close();
        }
    }
}

এখানে, getAllUsers() মেথডটি সমস্ত ইউজারকে সিলেক্ট করে এবং তাদের ডেটা প্রদর্শন করছে।


৪. ডেটা আপডেট করা

SQLite-এ ডেটা আপডেট করতে update() মেথড ব্যবহার করা হয়। এই মেথডটি একটি নির্দিষ্ট রেকর্ড আপডেট করতে সক্ষম।

উদাহরণ: ডেটা আপডেট করা

public void updateUser(int id, String name, int age) {
    ContentValues values = new ContentValues();
    values.put(DatabaseHelper.COLUMN_NAME, name);
    values.put(DatabaseHelper.COLUMN_AGE, age);

    // আপডেট করার জন্য
    db.update(DatabaseHelper.TABLE_NAME, values, DatabaseHelper.COLUMN_ID + " = ?", new String[]{String.valueOf(id)});
}

এখানে, updateUser() মেথডটি একটি নির্দিষ্ট id এর ইউজারের নাম এবং বয়স আপডেট করছে।


৫. ডেটা মুছা

SQLite-এ ডেটা মুছতে delete() মেথড ব্যবহার করা হয়।

উদাহরণ: ডেটা মুছা

public void deleteUser(int id) {
    db.delete(DatabaseHelper.TABLE_NAME, DatabaseHelper.COLUMN_ID + " = ?", new String[]{String.valueOf(id)});
}

এখানে, deleteUser() মেথডটি একটি নির্দিষ্ট id এর ইউজারকে মুছে ফেলার জন্য ব্যবহৃত হচ্ছে।


৬. অ্যাপ্লিকেশন বন্ধ করার সময় ডেটাবেস বন্ধ করা

অ্যাপ্লিকেশন বন্ধ করার সময় ডেটাবেস বন্ধ করার জন্য close() মেথড ব্যবহার করা হয়।

উদাহরণ: ডেটাবেস বন্ধ করা

public void close() {
    dbHelper.close();
}

সারাংশ

Android অ্যাপ্লিকেশনে SQLite ইন্টিগ্রেশন খুবই সহজ এবং কার্যকরী। আপনি SQLiteOpenHelper ক্লাস তৈরি করে ডেটাবেস তৈরি এবং ম্যানেজ করতে পারেন। ডেটাবেসে ডেটা ইনসার্ট, আপডেট, সিলেক্ট, এবং ডিলিট করার জন্য SQLiteDatabase ক্লাসের মেথডগুলি ব্যবহার করতে হয়। এটি ডেটা সংরক্ষণের জন্য সিস্টেম স্তরের একটি শক্তিশালী সমাধান এবং অধিকাংশ Android অ্যাপ্লিকেশনে ব্যবহৃত হয়।

Content added By
Promotion

Are you sure to start over?

Loading...